package bingo.rpc.framework.zookeeper;

import bingo.rpc.framework.model.InvokerService;
import bingo.rpc.framework.model.ProviderService;

import java.util.List;
import java.util.Map;

/**
 * 消费端注册中心接口
 *
 * @author hujinsheng
 * @project bingo
 * @create 2017-12-11 16:03
 **/
public interface IRegisterCenter4Consumer {
    /**
     * 消费端初始化服务提供者信息到本地缓存
     * @param remoteAppKey
     * @param groupName
     */
    public void initProvidermap(String remoteAppKey,String groupName);

    /**
     * 消费端获取服务提供者信息
     * @return
     */
    public Map<String,List<ProviderService>> getServiceMetaDataMap4Consumer ();

    /**
     * 消费端将消费者信息注册到zk对应的节点
     * @param invoker
     */
    public void registerInvoker (final InvokerService invoker);

}
